minMatrix.js : multiply
minMatrix.js
構文 : matIV.multiply(mat1, mat2, dest)
引数 : mat1 > 掛け合わせの元となる行列
引数 : mat2 > 掛け合わせる行列
引数 : dest > 演算結果を格納する行列
mat1 を左項、mat2 を右項として掛け合わせた結果を dest に出力します。
code:js
this.multiply = function(mat1, mat2, dest){
var a = mat10, b = mat11, c = mat12, d = mat13,
e = mat14, f = mat15, g = mat16, h = mat17,
i = mat18, j = mat19, k = mat110, l = mat111,
m = mat112, n = mat113, o = mat114, p = mat115,
A = mat20, B = mat21, C = mat22, D = mat23,
E = mat24, F = mat25, G = mat26, H = mat27,
I = mat28, J = mat29, K = mat210, L = mat211,
M = mat212, N = mat213, O = mat214, P = mat215;
dest0 = A * a + B * e + C * i + D * m;
dest1 = A * b + B * f + C * j + D * n;
dest2 = A * c + B * g + C * k + D * o;
dest3 = A * d + B * h + C * l + D * p;
dest4 = E * a + F * e + G * i + H * m;
dest5 = E * b + F * f + G * j + H * n;
dest6 = E * c + F * g + G * k + H * o;
dest7 = E * d + F * h + G * l + H * p;
dest8 = I * a + J * e + K * i + L * m;
dest9 = I * b + J * f + K * j + L * n;
dest10 = I * c + J * g + K * k + L * o;
dest11 = I * d + J * h + K * l + L * p;
dest12 = M * a + N * e + O * i + P * m;
dest13 = M * b + N * f + O * j + P * n;
dest14 = M * c + N * g + O * k + P * o;
dest15 = M * d + N * h + O * l + P * p;
return dest;
};
行オーダ